草庐IT

STRB 有效位

全部标签

c# - 程序退出后 TcpListener Socket 仍然有效

我正试图在我的程序退出时停止TCP监听器。我不关心套接字或任何事件客户端套接字上当前事件的任何数据。套接字清理代码本质上是:try{myServer.Server.Shutdown(SocketShutdown.Both)}catch(Exceptionex){LogException(ex)}myServer.Server.Close(0)myServer.Stop()myServer是一个TCPListener在某些情况下,Shutdown会抛出异常System.Net.Sockets.SocketException:发送或接收数据的请求被禁止,因为套接字未连接并且(当使用send

c# - 比较两个列表并找到这两个列表之间的增量的最有效模式/算法是什么?

我们有两个列表,比如说学生和他们的分数。我想比较这两个列表并找到新列表和旧列表之间的增量,然后找到侵入性最小的方式将任何更改插入或更新到新列表中。解决这个问题的最佳算法是什么?希望专注于对新列表和性能进行最少的更改。示例代码:ListexistingList=newList();ListnewList=newList();publicTopLists(){InitTwoLists();}privatevoidInitTwoLists(){existingList.Add(newListItem{Name="Shane",Score=100});existingList.Add(newL

c# - 通用接口(interface)重载。有效术语?

这是一个非常基本的方法重载示例,两个方法具有相同的名称但具有不同的签名:intMyMethod(inta)intMyMethod(inta,stringb)现在假设我定义了两个通用接口(interface),共享完全相同的名称但具有不同数量的类型参数,例如:IMyInterfaceIMyInterface我可以说这代表“通用接口(interface)重载”吗?还是“重载”一词仅适用于这种情况下的方法?它看起来仍然与方法重载非常相似,因为我们保持完全相同的名称但改变了参数。如果我不能说“通用接口(interface)重载/重载”,那么对于这两个共享相同名称的不同接口(interface)

c# - 检查给定的可执行文件是否经过数字签名且有效?

在我的C#/.NET应用程序中,我必须检查给定的可执行文件是否经过数字签名(最好没有异常测试。)然后我需要检查其证书是否有效(基于已安装的根证书)以及文件内容是否对签名有效.BCL中的类太多了,我不知道从哪里开始以及使用什么,到目前为止我发现的任何东西都不能消除我的困惑...我想做这样的事情,没有如果可能P/Invoke:boolIsSignedFile(stringpath);CertGetCertificateFromSignedFile(stringpath);boolIsValidCertificate(Certcert)SigGetSignatureFromSignedFil

c# - IComparable 魔法 - 为什么它是有效的陈述?

我不明白为什么它会起作用......classProgram{staticvoidMain(string[]args){IComparable.Equals(12,3);}}IL代码:.methodprivatehidebysigstaticvoidMain(string[]args)cilmanaged{.entrypoint//Codesize21(0x15).maxstack8IL_0000:nopIL_0001:ldc.i4.s12IL_0003:box[mscorlib]System.Int32IL_0008:ldc.i4.3IL_0009:box[mscorlib]Syst

c# - HTMLagilitypack 没有删除所有 html 标签 我怎样才能有效地解决这个问题?

我正在使用以下方法从字符串中删除所有html:publicstaticstringStripHtmlTags(stringhtml){if(String.IsNullOrEmpty(html))return"";HtmlAgilityPack.HtmlDocumentdoc=newHtmlAgilityPack.HtmlDocument();doc.LoadHtml(html);returndoc.DocumentNode.InnerText;}但它似乎忽略了以下标签:[…]所以字符串基本上返回:>Ahungrythiefwhostolearackofporkribsfromagroc

c# - `_[....]` 是有效标识符吗?

我刚刚安装了来自Microsoft的.NET4.5引用源,因为我正在尝试调试我遇到的问题,我在HttpApplication.cs中偶然发现了以下内容。//executionstep--callasynchronouseventinternalclassAsyncEventExecutionStep:IExecutionStep{privateHttpApplication_application;privateBeginEventHandler_beginHandler;privateEndEventHandler_endHandler;privateObject_state;pri

c# - 开发人员如何使用源代码控制,我试图找到在小型开发环境中进行源代码控制的最有效方法

我在一个由4名.Net开发人员组成的小组中工作。我们很少同时处理同一个项目,但这种情况时有发生。我们使用TFS进行源代码控制。我最近的示例是我昨晚刚刚投入生产的一个项目,其中包括2个WCF服务和一个Web应用程序前端。我在一个名为“prod”的分支工作,因为该应用程序是全新的并且从未见过。现在该项目已经上线,我需要从prod分支分支以获取功能、错误等...那么最好的方法是什么?我是否简单地创建一个新分支并将旧分支存档并且不再使用它?当我想部署到生产环境时,我是否要分支然后将我的分支更改合并回prod分支?文件和程序集版本呢?它们目前为1.0.0.0。他们什么时候改变,为什么?如果我修复

c# - 隐藏在 c# 中的方法以及一个有效的例子。为什么在框架中实现?什么是现实世界的优势?

谁能用一个有效的例子来解释C#中方法隐藏的实际用法?如果方法是在派生类中使用new关键字定义的,那么它不能被覆盖。然后它与创建一个具有不同名称的新方法(除了基类中提到的方法)一样。是否有使用new关键字的特定原因? 最佳答案 我有时对new关键字的一个用途是在平行继承树中用于“穷人属性协方差”。考虑这个例子:publicinterfaceIDependency{}publicinterfaceConcreteDependency1:IDependency{}publicclassBase{protectedBase(IDepende

c# - 将秒数添加到具有 ArgumentOutOfRangeException 的有效 double 结果的 DateTime

下面的代码会崩溃和烧毁,我不明白为什么:DateTimedt=newDateTime(1970,1,1,0,0,0,0,DateTimeKind.Utc);doubled=double.Parse("1332958778172");Console.Write(dt.AddSeconds(d));有人能告诉我这是怎么回事吗?我只是似乎无法弄清楚为什么...编辑此值来自SalesforceRESTAPI,据我所知,它是一个Unix纪元时间戳。“token发行时间,表示为自Unix纪元(1970年1月1日00:00:00UTC)以来的秒数。”解决方案SalesforceRESTAPI实际上在